package com.foreknow.demo4;

/**
 * 数组的排序
 * 冒泡排序：大的数向下沉，小的数上浮 (相邻的两个数进行比较，把较大的数放到后面，不断的进行这个过程，最大的数就会放到结尾)
 *      例如： 15  7   22   14   8    16   10
 *            7   15   22  14   8    16   10
 *            7   15   14  22   8    16   10
 *            7   15   14   8   22   16   10
 *            7   15   14   8   16   22   10
 *            7   15   14   8   16   10  |  22
 *                               无序区     有序区
 *
 */
public class ArrayDemo4 {

    public static int[] sort(int[] array) {
//        int[] array = {15,7,22,14,8,16,10};
        int temp = 0;
        for(int i = 1;i < array.length;i++) { //控制总的比较次数
            //相邻的两个元素比较
            for(int j = 0;j < array.length-i;j++) {
                if(array[j] > array[j+1]) {
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        return array;
    }
    public static void main(String[] args) {
        int[] array = {15,7,22,14,8,16,10};
        int[] arr = ArrayDemo4.sort(array);
        for(int i = 0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }
    }
}
